package w83b.w83bOperacionesPaso.w83bComunicaciones;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bComunicacionesBean;
import w83b.w83bBeans.W83bDocBean;
import w83b.w83bBeans.W83bPlantillasBean;
import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidades.W83bUtilidadesRTF;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import w83b.w83bUtilidadesComunes.W83bClsTrazas;
import w83b.w83bUtilidadesComunes.W83bDateUtil;
import w83b.w83bUtilidadesComunes.W83bUtilidades;
import w83b.w83bUtilidadesLibroRegistro.W83bLibroRegistro;
import w83b.w83bUtilidadesLibroRegistro.W83bLibroRegistroException;
import es.ejie.frmk.infraestructura.internacionalizacion.Q70GestorMensajesException;
import es.ejie.frmk.infraestructura.internacionalizacion.Q70GestorMensajesi18n;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bGenerarRtfComLauResueltosAction extends Q70ActionPasoOP{


	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//String strRutaRtf ="";// Q70ListenerUtils.getApplicationProperty("RUTA_PLANTILLAS_RTF")+"plantillaCertNumDelCentSind.rtf";
		
	    List lista=(List)contexto.get("w83bResultadoBean");
	    int tamanyo = 25;
		if(lista.size()-1<25){
			tamanyo = lista.size()-1;
		}
		if(tamanyo>=1){
			String idioma=(String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA);
			W83bUsuarioXLNetsBean usuario=(W83bUsuarioXLNetsBean)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_USUARIO);
	        HashMap datosDelDep=  W83bUtilidadesComunes.obtenerTitulosDelegacionDepartamento(usuario,idioma);  	
	        StringBuffer  tituloDelelegacionEu = (StringBuffer)datosDelDep.get("tituloDelelegacionEu");
			StringBuffer  tituloDelelegacionEs = (StringBuffer)datosDelDep.get("tituloDelelegacionEs");
			StringBuffer  tituloDepEu = (StringBuffer)datosDelDep.get("tituloDepEu");
			StringBuffer  tituloDepEs = (StringBuffer)datosDelDep.get("tituloDepEs");
			String dirdelegacion= (String)datosDelDep.get("dirdelegacion");
	        
			//strRutaRtf = Q70ListenerUtils.getApplicationProperty("RUTA_PLANTILLAS_RTF")+"plantillaComunLaudosResueltos.rtf";
			HashMap generarRtf = (HashMap)contexto.get("generarRtf");
			if(null==generarRtf){
				generarRtf = new HashMap();
			}
			HashMap mapaParGeneral = new HashMap();
			mapaParGeneral.put("<<DEPEUS>>",tituloDepEu.toString());
			mapaParGeneral.put("<<DEPCAS>>",tituloDepEs.toString());
			mapaParGeneral.put("<<DELEUS>>",tituloDelelegacionEu.toString());
			mapaParGeneral.put("<<DELCAS>>",tituloDelelegacionEs.toString());
			mapaParGeneral.put("<<DIRDELEGACION>>",dirdelegacion);
			
//			CharSequence content=W83bUtilidadesRTF.leerTodoFichero(strRutaRtf);
			HashMap mapaPlantillas = (HashMap)contexto.get("w83bPlantillasMap");
			byte[] plantilla = ((W83bPlantillasBean)mapaPlantillas.get(W83bClsConstantes.COMUNICACION_LAUDO.toUpperCase())).getFichero();
			
			CharSequence content=W83bUtilidadesRTF.leerTodoFichero(plantilla);
			String contenido=content.toString();
			
			StringBuffer contenidoBuffer=new StringBuffer(contenido);
			int ifooter=contenido.lastIndexOf("footer");
			String delantefooter=contenido.substring(ifooter,contenido.length());
			int ifooterLlave=delantefooter.indexOf("}")+2;
			int finDelantelimpio=ifooter+ifooterLlave;
			int z=contenido.lastIndexOf("page")+6;
			StringBuffer parteDelanteLimpia=new StringBuffer(contenido.substring(0,finDelantelimpio));
			String parteAtrasLimpia=contenido.substring(z,contenido.length());
			contenidoBuffer=new StringBuffer(contenido.substring(finDelantelimpio,z));
			parteDelanteLimpia=W83bUtilidadesRTF.sustituirCadenaCaracteresString(parteDelanteLimpia, mapaParGeneral);
			List datosLst = (ArrayList)contexto.get("documento");
			int tamanyoTotal = 0;
			if(datosLst.size()>0){
				tamanyoTotal = Integer.parseInt((String)datosLst.get(datosLst.size()-1));
				datosLst.remove(datosLst.size()-1);
				datosLst.remove(datosLst.size()-1);
			}else{
				datosLst.add(parteDelanteLimpia);
				tamanyoTotal = tamanyoTotal + parteDelanteLimpia.toString().getBytes().length;			
			}
			W83bDocBean docBean= new W83bDocBean();
			StringBuffer elemento=new StringBuffer();
			Map elementoindMap;
			int tamnyo = 0;
			HashMap mapaPar=new HashMap();
			List comunicind=new ArrayList();
			int numcomunic=0;
			HashMap sindicatos;
			String tipocomentario="";
			int n=0;
			for(int i=0;i<tamanyo;i++){
				W83bComunicacionesBean comunic=(W83bComunicacionesBean)lista.get(i);
				elementoindMap= new HashMap();
				StringBuffer observaciones=new StringBuffer(W83bClsConstantes.CUARENTA);//NOPMD
				observaciones.append(Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun","comun.comunicaciones.laudolit",comunic.getIdioma(),null)).append(" ");
				if ("1".equals(comunic.getOrderby())){
					observaciones.append(Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun","comun.impugnaciones.acta",comunic.getIdioma(),null)).append(" ");
				}else{
					observaciones.append(Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun","comun.impugnaciones.preaviso",comunic.getIdioma(),null)).append(" ");
				}
				observaciones.append(comunic.getTerrit()+"/"+comunic.getAnoacta()+"/"+W83bUtilidades.rellenarCaracter(comunic.getNacta(), "0", 6, true));
					
				long milisegundos = System.currentTimeMillis();
				String [] resul = null;
				try{
					resul=W83bLibroRegistro.getAltaRegistro(true, comunic.getUsuarioBean().getModeloSal(), "S", "E", Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun","comun.informes.direccionTrabajo_es",comunic.getIdioma(),null), comunic.getTerrit(), "" ,observaciones.toString(), comunic.getUsuarioBean());
				}catch(W83bLibroRegistroException e){
					generarRtf = (HashMap)contexto.get("generarRtf");
						if(null==generarRtf){
							generarRtf = new HashMap(); //NOPMD
						}
						generarRtf.put("error", "errorLibroRegistro");
						contexto.set("generarRtf",generarRtf);
					  return mapping.findForward("fin"); 
				}
				W83bClsTrazas.trazaError(comunic.getUsuarioBean(), "tiempo antes de query="+(System.currentTimeMillis()- milisegundos), null);
				comunic.setNumsalida(resul[0]);
				comunic.setFechaaregistro(resul[1]);
				if ("1".equals(comunic.getOrderby())){
					mapaPar=crearHoja(comunic,usuario,tituloDepEu,tituloDepEs,tituloDelelegacionEu,tituloDelelegacionEs,idioma,"blanco");
					elemento=W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar);
					elementoindMap.put(W83bClsConstantes.DESTINATARIO_LAUDO_CENTRO, W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar));
					tamnyo = tamnyo + elemento.toString().length();
					W83bClsTrazas.trazaError(null,"tamanyo->"+i+" datoslst->"+tamnyo,null);
					datosLst.add(elemento);
					tamanyoTotal = tamanyoTotal + elemento.toString().getBytes().length;
					numcomunic=numcomunic+1;
					mapaPar=crearHoja(comunic,usuario,tituloDepEu,tituloDepEs,tituloDelelegacionEu,tituloDelelegacionEs,idioma,"presidente");
					elemento=W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar);
					elementoindMap.put(W83bClsConstantes.DESTINATARIO_LAUDO_PRESIDENTE, W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar));
					sindicatos=(HashMap)comunic.getSind();
					if (!sindicatos.isEmpty()){
						tamnyo = tamnyo + elemento.toString().length();
						W83bClsTrazas.trazaError(null,"tamanyo->"+i+" datoslst->"+tamnyo,null);
						datosLst.add(elemento);
						tamanyoTotal = tamanyoTotal + elemento.toString().getBytes().length;
						numcomunic=numcomunic+1;
						n=0;
						Iterator it = sindicatos.keySet().iterator();
						while (it.hasNext()){
							String key = (String)it.next();
							
							String[] datossind=((String)sindicatos.get(key)).split("\\|");
							if (W83bClsConstantes.CONSTANTE_CASTELLANO.equals(idioma)){
								tipocomentario=datossind[0];
							}
							else{
								tipocomentario=datossind[1];
							}
							mapaPar=crearHoja(comunic,usuario,tituloDepEu,tituloDepEs,tituloDelelegacionEu,tituloDelelegacionEs,idioma,tipocomentario);
							elemento=W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar);
							elementoindMap.put(key, W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar));
							
							if (n!=sindicatos.size()-1){
								tamnyo = tamnyo + elemento.toString().length();
								W83bClsTrazas.trazaError(null,"tamanyo->"+i+" datoslst->"+tamnyo,null);
								datosLst.add(elemento);
								tamanyoTotal = tamanyoTotal + elemento.toString().getBytes().length;
								numcomunic=numcomunic+1;
							}
							n=n+1;
						}
					}
					
				}else{
					mapaPar=crearHoja(comunic,usuario,tituloDepEu,tituloDepEs,tituloDelelegacionEu,tituloDelelegacionEs,idioma,"blanco");
					elementoindMap.put(W83bClsConstantes.DESTINATARIO_LAUDO_CENTRO, W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar));
					elemento=W83bUtilidadesRTF.sustituirCadenaCaracteresString(contenidoBuffer, mapaPar);
				}
				String delante="";
				String detras="";
				String delanteL="";
				String detrasL="";
				
				
				for (Iterator iter = elementoindMap.keySet().iterator(); iter.hasNext();) {
					String key = (String) iter.next();
					StringBuffer elementoind = (StringBuffer)elementoindMap.get(key);
					
					int k=elementoind.lastIndexOf("page");
					delante=elementoind.substring(0,k);
					detras=elementoind.substring(k,elementoind.length());
					delanteL=delante.substring(0, delante.lastIndexOf("{"));
					detrasL=detras.substring( detras.indexOf("}")+1,detras.length());
					elementoindMap.put(key, new StringBuffer(delanteL.concat(detrasL)));
					
				}
				
				if (i==lista.size()-2){
					int j=elemento.lastIndexOf("page");
					delante=elemento.substring(0,j);
					detras=elemento.substring(j,elemento.length());
					delanteL=delante.substring(0, delante.lastIndexOf("{"));
					detrasL=detras.substring( detras.indexOf("}")+1,detras.length());
					elemento=new StringBuffer(delanteL.concat(detrasL));//NOPMD
				}
				tamnyo = tamnyo + elemento.toString().length();
				W83bClsTrazas.trazaError(null,"tamanyo->"+i+" datoslst->"+tamnyo,null);
				datosLst.add(elemento);
				tamanyoTotal = tamanyoTotal + elemento.toString().getBytes().length;
				numcomunic=numcomunic+1;
				for (int h=0;h<comunic.getImpugn().size();h++){
					String imp=(String)comunic.getImpugn().get(h);
					String[] datosimpug=imp.split("\\|");
					
					//Comunicación para centro
					docBean= new W83bDocBean();//NOPMD
					docBean.setNumActaTerritorio(comunic.getTerrit());
					docBean.setNumActaAno(datosimpug[1]);
					docBean.setNumActa(datosimpug[0]);
					docBean.setCodTramite(String.valueOf(W83bClsConstantes.CINCO));
					docBean.setCodFase(String.valueOf(W83bClsConstantes.CINCO));
					docBean.setNombre("ComunicacionLaudo"+comunic.getTerrit()+"/"+datosimpug[1]+"/"+W83bUtilidades.rellenarCaracter(datosimpug[0], "0", 6, true)+".rtf");
					docBean.setFechaRegistro(comunic.getFechaaregistro());
					docBean.setUsuario(comunic.getUsuarioBean().getIdUsuario());
					docBean.setNumeroRegistro(comunic.getNumsalida());
					docBean.setDestinatarioComunicLaudo(W83bClsConstantes.DESTINATARIO_LAUDO_CENTRO);
					
					StringBuffer datosind=new StringBuffer();//NOPMD
					datosind.append(parteDelanteLimpia);
					datosind.append(elementoindMap.get(W83bClsConstantes.DESTINATARIO_LAUDO_CENTRO));
					datosind.append(parteAtrasLimpia);
					byte[] bytes = datosind.toString().getBytes();
					InputStream input=new ByteArrayInputStream(bytes);//NOPMD
					docBean.setFileData(input);
					docBean.setTamanyo(datosind.toString().getBytes().length);
					docBean.setEscomunicacion(comunic.getEscomunicacion());
					comunicind.add(docBean);
					
					//comunicación para presidente de mesa si corresponde
					if(elementoindMap.containsKey(W83bClsConstantes.DESTINATARIO_LAUDO_PRESIDENTE)){
						//Comunicación para centro
						docBean= new W83bDocBean();//NOPMD
						docBean.setNumActaTerritorio(comunic.getTerrit());
						docBean.setNumActaAno(datosimpug[1]);
						docBean.setNumActa(datosimpug[0]);
						docBean.setCodTramite(String.valueOf(W83bClsConstantes.CINCO));
						docBean.setCodFase(String.valueOf(W83bClsConstantes.CINCO));
						docBean.setNombre("ComunicacionLaudo"+comunic.getTerrit()+"/"+datosimpug[1]+"/"+W83bUtilidades.rellenarCaracter(datosimpug[0], "0", 6, true)+".rtf");
						docBean.setFechaRegistro(comunic.getFechaaregistro());
						docBean.setUsuario(comunic.getUsuarioBean().getIdUsuario());
						docBean.setNumeroRegistro(comunic.getNumsalida());
						docBean.setDestinatarioComunicLaudo(W83bClsConstantes.DESTINATARIO_LAUDO_PRESIDENTE);
						
						datosind=new StringBuffer();//NOPMD
						datosind.append(parteDelanteLimpia);
						datosind.append(elementoindMap.get(W83bClsConstantes.DESTINATARIO_LAUDO_PRESIDENTE));
						datosind.append(parteAtrasLimpia);
						bytes = datosind.toString().getBytes();
						input=new ByteArrayInputStream(bytes);//NOPMD
						docBean.setFileData(input);
						docBean.setTamanyo(datosind.toString().getBytes().length);
						docBean.setEscomunicacion(comunic.getEscomunicacion());
						comunicind.add(docBean);
					}
					
					//comunicación para sindicatos si corresponde
					for (Iterator iterKeys = elementoindMap.keySet().iterator(); iterKeys.hasNext();) {
						String key = (String) iterKeys.next();
						
						if(!key.equals(W83bClsConstantes.DESTINATARIO_LAUDO_PRESIDENTE)&& !key.equals(W83bClsConstantes.DESTINATARIO_LAUDO_CENTRO)){
							docBean= new W83bDocBean();//NOPMD
							docBean.setNumActaTerritorio(comunic.getTerrit());
							docBean.setNumActaAno(datosimpug[1]);
							docBean.setNumActa(datosimpug[0]);
							docBean.setCodTramite(String.valueOf(W83bClsConstantes.CINCO));
							docBean.setCodFase(String.valueOf(W83bClsConstantes.CINCO));
							docBean.setNombre("ComunicacionLaudo"+comunic.getTerrit()+"/"+datosimpug[1]+"/"+W83bUtilidades.rellenarCaracter(datosimpug[0], "0", 6, true)+".rtf");
							docBean.setFechaRegistro(comunic.getFechaaregistro());
							docBean.setUsuario(comunic.getUsuarioBean().getIdUsuario());
							docBean.setNumeroRegistro(comunic.getNumsalida());
							docBean.setDestinatarioComunicLaudo(key);
							
							datosind=new StringBuffer();//NOPMD
							datosind.append(parteDelanteLimpia);
							datosind.append(elementoindMap.get(key));
							datosind.append(parteAtrasLimpia);
							bytes = datosind.toString().getBytes();
							input=new ByteArrayInputStream(bytes);//NOPMD
							docBean.setFileData(input);
							docBean.setTamanyo(datosind.toString().getBytes().length);
							docBean.setEscomunicacion(comunic.getEscomunicacion());
							comunicind.add(docBean);
						}
						
						
					}
					
				}
			}
			datosLst.add(parteAtrasLimpia);
			tamanyoTotal = tamanyoTotal + parteAtrasLimpia.toString().getBytes().length;
			datosLst.add(String.valueOf(tamanyoTotal));
			contexto.set("documento",datosLst);
		    generarRtf.put("comunicind", null);
		    String tam = "";
		    int tamInt = 0;
		    if(null!=generarRtf){
		    	tam = (String)generarRtf.get("tam");
		    	if(StringUtils.isNotEmpty(tam)){
		    		tamInt = Integer.parseInt(tam);
		    	}
		    }
		    tamInt = tamInt + numcomunic;
		    generarRtf.put("tam", String.valueOf(tamInt));
		    contexto.set("generarRtf", generarRtf);
		    contexto.set("w83bListaInd", comunicind);
		    generarRtf.put("comunicind",comunicind);
			contexto.set("generarRtf",generarRtf);
	    
	    List listatemp = lista.subList(tamanyo,lista.size());
	    
	    lista = new ArrayList();
	    lista.addAll(listatemp);
	    contexto.set("w83bResultadoBean",lista);
	    

		Runtime garbage = Runtime.getRuntime();
	    W83bClsTrazas.trazaError(null,"ending Action - Memoria libre antes de limpieza: "+ garbage.freeMemory(),null);
	    System.runFinalization();
	    System.gc();  	   
	    garbage.gc();
	    W83bClsTrazas.trazaError(null,"ending Action - Memoria libre después de limpieza: "+ garbage.freeMemory(),null);
	    return mapping.findForward("ok");
		}
		else{
			return mapping.findForward("fin");
		}
		
	}
		

	public HashMap crearHoja(W83bComunicacionesBean comunic, W83bUsuarioXLNetsBean usuario, StringBuffer tituloDepEu, StringBuffer tituloDepEs, StringBuffer tituloDelelegacionEu, StringBuffer tituloDelelegacionEs, String idioma, String comentario) throws NumberFormatException, Q70GestorMensajesException{
		HashMap mapaPar = new HashMap();
		mapaPar.put("<<DEPEUS>>",tituloDepEu.toString());
		mapaPar.put("<<DEPCAS>>",tituloDepEs.toString());
		mapaPar.put("<<DELEUS>>",tituloDelelegacionEu.toString());
		mapaPar.put("<<DELCAS>>",tituloDelelegacionEs.toString());
		mapaPar.put("<<DIRDELEGACION>>",usuario.getCalleListadosFormateada());
		mapaPar.put("<<NUMSALIDA>>",W83bUtilidadesRTF.ponerBlancoANulo(comunic.getNumsalida()));
		List fa;
		if (W83bClsConstantes.CONSTANTE_CASTELLANO.equals(idioma)){
			fa=W83bDateUtil.getInstance().separarDiaMesAnyo(comunic.getFechacomunicacion(),W83bClsConstantes.CONSTANTE_CASTELLANO);
		}
		else{
			fa=W83bDateUtil.getInstance().separarDiaMesAnyo(comunic.getFechacomunicacion(),W83bClsConstantes.CONSTANTE_EUSKARA);
		}
		mapaPar.put("<<FECHA>>",W83bDateUtil.getInstance().devolverLiteralfechamin(Integer.parseInt((String)fa.get(0)),Integer.parseInt((String)fa.get(1)),Integer.parseInt((String)fa.get(2)),idioma).toString());
		mapaPar.put("<<RAZON>>",comunic.getRazon());
		if (W83bClsConstantes.CONSTANTE_NO_VALIDADA.equals(comunic.getCentroSel())||StringUtils.isEmpty(comunic.getDirorig())){
			mapaPar.put("<<DOMIC>>",W83bUtilidadesRTF.ponerBlancoANulo(comunic.getDomicilio()));
		}
		else{
			mapaPar.put("<<DOMIC>>",W83bUtilidadesRTF.ponerBlancoANulo(comunic.getDirorig()));
		}
		if (W83bClsConstantes.CONSTANTE_NO_VALIDADA.equals(comunic.getCentroSel())||StringUtils.isEmpty(comunic.getCporig())){
			mapaPar.put("<<CPOST>>",comunic.getCodigopostal());
		}
		else{
			mapaPar.put("<<CPOST>>",comunic.getCporig());
		}
		mapaPar.put("<<LOCAL>>",W83bUtilidadesRTF.ponerBlancoANulo(comunic.getMunicipio()).toUpperCase());
		mapaPar.put("<<PROV>>",comunic.getProvincia().toUpperCase());	
		if ("1".equals(comunic.getOrderby())){
			mapaPar.put("<<EXPDTE>>","Nº Acta:"+comunic.getTerrit()+"/"+comunic.getAnoacta()+"/"+W83bUtilidades.rellenarCaracter(comunic.getNacta(), "0", 6, true));
		}
		else{
			mapaPar.put("<<EXPDTE>>","Nº Preaviso:"+comunic.getTerrit()+"/"+comunic.getAnoacta()+"/"+W83bUtilidades.rellenarCaracter(comunic.getNacta(), "0", 6, true));
		}		
		mapaPar.put("<<LOCALID>>",usuario.getLocalidadTxtCastDelegacionMin());
		mapaPar.put("<<FECCAS>>"," a "+W83bDateUtil.getInstance().devolverLiteralfechaentera(Integer.parseInt((String)fa.get(0)),Integer.parseInt((String)fa.get(1)),Integer.parseInt((String)fa.get(2)),W83bClsConstantes.CONSTANTE_CASTELLANO).toString());
		mapaPar.put("<<FECUSK>>",W83bDateUtil.getInstance().devolverLiteralfechaentera(Integer.parseInt((String)fa.get(0)),Integer.parseInt((String)fa.get(1)),Integer.parseInt((String)fa.get(2)),W83bClsConstantes.CONSTANTE_EUSKARA).toString());
		mapaPar.put("<<LINEAORDEN>>","");
		mapaPar.put("<<DELEGADO>>",W83bUtilidadesRTF.ponerBlancoANulo(comunic.getNombrefirmante()));
		mapaPar.put("<<CARGO>>",comunic.getDescfirmante().toUpperCase());
		mapaPar.put("<<CARGOEU>>",comunic.getDescfirmanteeu().toUpperCase());
		mapaPar.put("<<LINEARESPONSABLE>>","");
		mapaPar.put("<<PROVI>>",comunic.getDescTerritorio().toUpperCase());
		if ("presidente".equals(comentario)){
			mapaPar.put("<<COMENTARIO>>",Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun","comun.comunicaciones.copiapte",W83bClsConstantes.CONSTANTE_CASTELLANO));
		}
		else if ("blanco".equals(comentario)){
			mapaPar.put("<<COMENTARIO>>","");
		}else{
			mapaPar.put("<<COMENTARIO>>",comentario);
		}
		return mapaPar;
	}

}